//
// Created by sjjmw on 2/23/2022.
//

#ifndef LEETCODE__17_H
#define LEETCODE__17_H

//todo
// 假设有k个人质和k个绑匪围成一圈。人质的编号从1到k，绑匪的编号从k+1到2k。
// 从编号1开始，每次从其中选出第m个人(隔m-1选出一人)出列。
// 希望求出m的最小值，使得最先出列的k个人都是绑匪，即都是编号从k+1到2k的人。
#include "iostream"
int get_sum(int n){
    int sum=0;
    while(n){
        sum+=n%10;
        n/=10;
    }
    return sum;
}

int get_num(int n){
    int cnt=0;
    for(int i=9;;i+=10){
        if(get_sum(i)%17==0&& get_sum(i+1)%17==0){
            cnt++;
            if(cnt==n){
                return i;
            }
        }
    }
}

int main() {
    int a;
//    std::cin>>set_cnt;
    while (scanf("%d", &a) != EOF) {

        printf("%d\n", get_num(a));
    }
    return 0;
}


#endif //LEETCODE__17_H
